<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Swagger UI</title>
  <link rel="stylesheet" type="text/css" href="./swagger-ui.css">
  <link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32"/>
  <link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16"/>
  <style>
    html {
      box-sizing: border-box;
      overflow: -moz-scrollbars-vertical;
      overflow-y: scroll;
    }

    *,
    *:before,
    *:after {
      box-sizing: inherit;
    }

    body {
      margin: 0;
      background: #fafafa;
    }
  </style>
</head>

<body>
<div id="swagger-ui"></div>

<script src="./swagger-ui-bundle.js" charset="UTF-8"></script>
<script src="./swagger-ui-standalone-preset.js" charset="UTF-8"></script>
<script>
    window.onload = function() {

      const swaggerOptions = {
        url: "/swagger.json",
        dom_id: '#swagger-ui',
        deepLinking: true,
        presets: [
          SwaggerUIBundle.presets.apis,
          SwaggerUIStandalonePreset
        ],
        plugins: [
          SwaggerUIBundle.plugins.DownloadUrl
        ],
        layout: "StandaloneLayout",
        parameterMacro: function (operation, parameter) {
          if (parameter.name === "X-Cassandra-Token") {
            tokenValue = "AUTHENTICATION_TOKEN";
            return tokenValue == null ? "" : tokenValue.trim();
          }
        }
      };

      const pathname = window.location.pathname;
      if (pathname !== '/swagger-ui') {
        const pathPrefix = pathname.substring(0, pathname.lastIndexOf('/swagger-ui'));
        const urlStart = window.location.origin;
        const proxiedUrlStart = urlStart + pathPrefix;
        swaggerOptions.requestInterceptor = function(request) {
          const url = request.url;
          if (url.startsWith("/")) {
            request.url = pathPrefix + url;
          } else {
            request.url = request.url.replace(urlStart, proxiedUrlStart);
          }
          return request;
        }
      }

      // Begin Swagger UI call region
      const ui = SwaggerUIBundle(swaggerOptions)
      // End Swagger UI call region

      window.ui = ui
    }

</script>
</body>
</html>